home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / demo / wwdemo.exe / SETUP.MST < prev    next >
Text File  |  1994-02-10  |  8KB  |  270 lines

  1. '*                    Worktime Workout Demo Setup
  2. '**************************************************************************
  3.  
  4. '$INCLUDE 'setupapi.inc'
  5. '$INCLUDE 'mscpydis.inc'    ''System
  6. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  7.  
  8. ''Dialog ID's
  9. CONST WELCOME       = 100
  10. CONST ASKQUIT       = 200
  11. CONST DESTPATH      = 300
  12. CONST EXITFAILURE   = 400
  13. CONST EXITQUIT      = 600
  14. CONST EXITSUCCESS   = 700
  15. CONST OPTIONS       = 800
  16. CONST APPHELP       = 900
  17. CONST APPHELP2      = 1500
  18. CONST APPHELP3      = 1700
  19. CONST CHECK         = 2500
  20. CONST TOOBIG        = 6300
  21. CONST BADPATH       = 6400
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 1
  25.  
  26. ''Disk Sizes
  27.  
  28. GLOBAL File1
  29. GLOBAL File2
  30. GLOBAL WantedDiskSize&
  31. GLOBAL WantedWINSize&
  32. GLOBAL WINSize&
  33.  
  34. ''File Types
  35. GLOBAL DEST$        ''Default destination directory.
  36. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  37. GLOBAL OPTCUR$      ''Option selection from option dialog.
  38. GLOBAL CHECKSTATES$
  39. GLOBAL RUNTIME$
  40. GLOBAL AVITOOLS$
  41. GLOBAL MDKTOOLS$
  42. GLOBAL TOOLS$
  43.  
  44. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  45. WinDir$ = GetWindowsDir()
  46. WinSysDir$ = GetWindowsSysDir()
  47.  
  48. DECLARE SUB Install
  49. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  50.  
  51. INIT:
  52.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  53.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  54.  
  55.     MajorVer% = GetWindowsMajorVersion()
  56.     MinorVer% = GetWindowsMinorVersion()
  57.  
  58.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  59.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  60.         END
  61.     END IF
  62.  
  63.     SetBitmap CUIDLL$, LOGO
  64.     SetTitle "Worktime Workout 1.0"
  65.  
  66.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  67.     IF szInf$ = "" THEN
  68.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  69.     END IF
  70.     ReadInfFile szInf$
  71.  
  72.     WINDRIVE$ = MID$(WinDir$, 1, 1)
  73.     DEST$ = "C:\WWDEMO"
  74.  
  75. WELCOME:
  76.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  77.     IF sz$ = "CONTINUE" THEN
  78.         UIPop 1
  79.     ELSE
  80.         GOSUB ASKQUIT
  81.         GOTO WELCOME
  82.     END IF
  83.  
  84. GETPATH:
  85.     SetSymbolValue "EditTextIn", DEST$
  86.     SetSymbolValue "EditFocus", "END"
  87. GETPATHL1:
  88.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  89.     DEST$ = GetSymbolValue("EditTextOut")
  90.  
  91.     IF sz$ = "CONTINUE" THEN
  92.         IF IsDirWritable(DEST$) = 0 THEN
  93.             GOSUB BADPATH
  94.             GOTO GETPATHL1
  95.         END IF
  96.         UIPop 1
  97.     ELSEIF sz$ = "REACTIVATE" THEN
  98.         GOTO GETPATHL1
  99.     ELSEIF sz$ = "BACK" THEN
  100.         UIPop 1
  101.         GOTO WELCOME
  102.     ELSE
  103.         GOSUB ASKQUIT
  104.         GOTO GETPATH
  105.     END IF
  106.  
  107. ClearCopyList
  108.  
  109.         WantedDiskSize&=1444000
  110.         DiskSize&=GetFreeSpaceForDrive(WINDRIVE$)
  111.  
  112.         If WantedDiskSize& > DiskSize& then
  113.  
  114.     TOOBIG:
  115.         sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  116.     IF sz$ = "REACTIVATE" THEN
  117.             GOTO TOOBIG
  118.         END IF
  119.         UIPop 1
  120.         IF sz$ = "CONTINUE" THEN        
  121.             ERROR STFQUIT
  122.     END IF
  123.         EndIf
  124.  
  125.         WantedDiskSize&=1444000
  126.         DiskSize&=GetFreeSpaceForDrive(DEST$)
  127.  
  128.         If WantedDiskSize& > DiskSize& then
  129.  
  130.     WINBIG:
  131.         sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  132.     IF sz$ = "REACTIVATE" THEN
  133.             GOTO WINBIG
  134.         END IF
  135.         UIPop 1
  136.         IF sz$ = "CONTINUE" THEN        
  137.             ERROR STFQUIT
  138.     END IF
  139.         EndIf
  140.  
  141. '' Setting RUNTIME files to be copied
  142.         AddSectionFilesToCopyList "Mplayer", SrcDir$, WinDir$
  143.         AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$
  144.         AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  145.  
  146. CopyFilesInCopyList
  147.  
  148. ''Updating WIN.INI and SYSTEM.INI
  149.         CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  150.         CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "indeo.drv", cmoOverwrite
  151.         CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  152.         CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  153.  
  154. Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  155.  
  156. Run ("profdisp")
  157.  
  158. Install
  159.  
  160. QUIT:
  161.     ON ERROR GOTO ERRQUIT
  162.  
  163.     IF ERR = 0 THEN
  164.         dlg% = EXITSUCCESS
  165.     ELSEIF ERR = STFQUIT THEN
  166.         dlg% = EXITQUIT
  167.     ELSE
  168.         dlg% = EXITFAILURE
  169.     END IF
  170. QUITL1:
  171.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  172.     IF sz$ = "REACTIVATE" THEN
  173.         GOTO QUITL1
  174.     END IF
  175.     UIPop 1
  176.  
  177.     END
  178.  
  179. ERRQUIT:
  180.     i% = DoMsgBox("Setup sources were corrupted, call the included support number", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  181.     END
  182.  
  183. BADPATH:
  184.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  185.     IF sz$ = "REACTIVATE" THEN
  186.         GOTO BADPATH
  187.     END IF
  188.     UIPop 1
  189.     RETURN
  190.  
  191.  
  192. ASKQUIT:
  193.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  194.  
  195.     IF sz$ = "EXIT" THEN
  196.         UIPopAll
  197. ''        ERROR STFQUIT
  198.         END
  199.     ELSEIF sz$ = "REACTIVATE" THEN
  200.         GOTO ASKQUIT
  201.     ELSE
  202.         UIPop 1
  203.     END IF
  204.     RETURN
  205.  
  206.  
  207. '**
  208. '** Purpose:
  209. '**     Builds the copy list and performs all installation operations.
  210. '** Arguments:
  211. '**     none.
  212. '** Returns:
  213. '**     none.
  214. '*************************************************************************
  215. SUB Install STATIC
  216.  
  217.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  218.     CreateDir DEST$, cmoNone
  219.  
  220.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  221.     WriteToLogFile ""
  222.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  223.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  224.     WriteToLogFile ""
  225.     WriteToLogFile "May have had to create the directory: " + DEST$
  226.     WriteToLogFile ""
  227.  
  228.     AddSectionFilesToCopyList "Workout", SrcDir$, DEST$
  229.     CopyFilesInCopyList
  230.  
  231.     ini$ = MakePath(DEST$, "DEMO.INI")
  232.     CreateIniKeyValue "WIN.INI", "Worktime Workout", "Dir", DEST$, cmoNone
  233.  
  234.     CreateProgmanGroup "Startup", "", cmoNone
  235.     ShowProgmanGroup  "Startup", 1, cmoNone
  236.     CreateProgmanItem "Startup", "Worktime Workout Demo", "wwdemo.exe ", ",,,,"+DEST$, cmoOverwrite
  237.  
  238.     CreateProgmanGroup "Worktime Workout Demo", "", cmoNone
  239.     ShowProgmanGroup  "Worktime Workout Demo", 1, cmoNone
  240.     CreateProgmanItem "Worktime Workout Demo", "Worktime Workout Demo", "wwdemo.exe ", ",,,,"+DEST$, cmoOverwrite
  241.     CreateProgmanItem "Worktime Workout Demo", "ReadMe", "notepad.exe "+MakePath(DEST$,"readme.txt"), ",,,,"+DEST$, cmoOverwrite
  242.  
  243.     AddDos5Help "Workout", "A Windows program to remind you to stretch.", cmoNone
  244.  
  245.     CloseLogFile
  246.  
  247. END SUB
  248.  
  249. '**
  250. '** Purpose:
  251. '**     Appends a file name to the end of a directory path,
  252. '**     inserting a backslash character as needed.
  253. '** Arguments:
  254. '**     szDir$  - full directory path (with optional ending "\")
  255. '**     szFile$ - filename to append to directory
  256. '** Returns:
  257. '**     Resulting fully qualified path name.
  258. '*************************************************************************
  259. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  260.     IF szDir$ = "" THEN
  261.         MakePath = szFile$
  262.     ELSEIF szFile$ = "" THEN
  263.         MakePath = szDir$
  264.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  265.         MakePath = szDir$ + szFile$
  266.     ELSE
  267.         MakePath = szDir$ + "\" + szFile$
  268.     END IF
  269. END FUNCTION
  270.